package mysql8学习.初级.第13章_约束;
/**
 * 面试
 *
 * 面试1、为什么建表时，加 not null default '' 或 default 0
 *      答：不想让表中出现null值。
 *
 * **面试2、为什么不想要 null 的值**
 * 答:（1）不好比较。null是一种特殊值，比较时只能用专门的is null 和 is not null来比较。
 *          碰到运算符，通常返回null。
 *    （2）效率不高。影响提高索引效果。
 *         因此，我们往往在建表时 not null default '' 或 default 0
 * **面试3、带AUTO_INCREMENT约束的字段值是从1开始的吗？**
 * 在MySQL中，默认AUTO_INCREMENT的初始值是1，每新增一条记录，字段值自动加1。
 *      设置自增属性（AUTO_INCREMENT）的时候，还可以指定第一条插入记录的自增字段的值，
 *      这样新插入的记录的自增字段值从初始值开始递增，如在表中插入第一条记录，
 *      同时指定id值为5，则以后插入的记录的id值就会从6开始往上增加。
 *      添加主键约束时，往往需要设置字段自动增加属性。
 *
 * **面试4、并不是每个表都可以任意选择存储引擎？**
 *      外键约束（FOREIGN KEY）不能跨引擎使用。
 * MySQL支持多种存储引擎，每一个表都可以指定一个不同的存储引擎，
 *      需要注意的是：外键约束是用来保证数据的参照完整性的，
 *      如果表之间需要关联外键，却指定了不同的存储引擎，那么这些表之间是不能创建外键约束的。
 *      所以说，存储引擎的选择也不完全是随意的。
 */
public class K_面试 {
}
